1. Field of the Invention
The invention relates generally to multicolor visual images including multiple dynamically interactive sprites, and more particularly to an apparatus and method for producing such images.
2. Description of the Related Art
The use of dynamically interactive sprites in multicolor visual images is well known. A sprite typically appears as a distinct object within a visual image. Often, a sprite has attributes associated with it which determine how that sprite interacts with other sprites in an image.
For example, referring to the illustrative drawing of FIG. 1, there is shown an exemplary multicolor image including four sprites: two targets 20, a rocket 22 and a sun 24. The sprites, for example, can be used in the context of a game. In one illustrative type of game, for example, the targets 20 move horizontally across the screen, either to the right or to the left as indicated by the horizontal arrows. The rocket 22 moves vertically across the screen in an upward direction as indicated by the vertical arrow. A user, for example, fires the rocket by activating hand operated controls (not shown). The objective of the illustrative game is to cause the image of the rocket to collide with the image of the target.
In the exemplary image, both the targets 20 and the rocket 22 possess an attribute known as collidability. When they collide, the result is an alteration in the behavior or appearance of one or both of them. For example, one possible alternative result may be that the target and the rocket both disappear from view; another possible alternative result may be that the target and the rocket both are transformed into an image of an explosion.
In contrast, the sun 24 does not possess the attribute of collidability. Both the rocket 22 or the target 20s can traverse the image of the sun 24 without altering any of their behaviors. For example, as the targets 20 traverse the image of the sun, the targets are visible in front of the sun. Similarly, as the rocket 22 traverses the image of the sun, the rocket is visible in front of the sun.
Images that include dynamically interactive sprites generally have been produced using a display screen including a multiplicity of pixels. The illustrative drawing of FIG. 2 represents a display screen including an array of pixels arranged in a M by K grid. Each of the pixels includes red, green and blue (RGB) color producing elements. The color of each respective pixel is determined by the relative intensities of the red, green and blue colors emanating from its corresponding color producing elements. An image is produced by individually controlling the respective color emanating from each pixel of the display.
One well known system for individually controlling the respective RGB color intensities of a multiplicity of pixels involves the use of an electronic device known as a pen palette. The illustrative drawings of FIG. 3 show an exemplary pen palette 26. The pen palette 26 includes sixteen pens labeled 26-0 through 26-15. Each respective pen comprises a 12-bit storage device that stores four bits of red color information, four bits of green color information and four bits of blue color information. Since there are sixteen pens, sixteen different 12-bit units of RGB information can be stored by the pen palette 26. It will be appreciated that the respective units of RGB information stored in the individual pens ordinarily can be changed in a manner well known to those skilled in the art by providing new units of RGB information on lines 28.
In operation, an image is generated pixel by pixel by selecting a four bit pen number for each respective pixel and providing on lines 30 the respective unit of RGB information stored by the pen corresponding to the selected pen number. For example, for each pixel a four bit pen number is provided to decode logic 32. In response to each pen number, the decode logic 32 provides a control signal on the appropriate one of control lines 34-0 through 34-15 which causes a corresponding pen to provide a respective 12-bit unit of RGB information on lines 30. The units of RGB information provided on lines 30 determine the color that emanates from each pixel of the array.
The production of an image that includes dynamically interactive sprites ordinarily involves the storage of a significant number of bits of digital information. For example, for substantially each pixel of each sprite, information typically is stored to identify the pen number that points to the pen that stores the unit of RGB information that controls the color of that pixel.
While earlier systems and associated methods for producing images that include dynamically interactive sprites generally have been successful, there have been shortcomings with their use. For example, sixteen different binary four bit combinations are required to specify all sixteen of the pen numbers of the exemplary sixteen pen palette 26. However, the use of fewer bits to identify pen numbers frequently can be desirable because it can reduce the number of bits stored to produce an image. Unfortunately, in the past the use of fewer bits to identify pen numbers often has not been satisfactory.
Another problem with earlier systems and methods was the difficulty in alternating the colors emanating from individual pixels of a particular sprite between a first color and a second color, for example, without affecting the appearance of other sprites illuminated with either the first or the second color. For example, in the illustrative image of FIG. 1, it can be desirable to show the flame at the base of rocket 22 to flicker by alternating the colors emanating from individual pixels of the flame between orange and red. At the same time, it can be undesirable to similarly alter the orange color emanating from pixels used to portray the sun 24.
Thus, there has been a need for an apparatus and method for producing multicolor visual images including dynamically interactive sprites in which information identifying pen numbers for each sprite can be stored with fewer bits. Furthermore, there is a need for such a method and apparatus in which the colors emanating from respective individual pixels of sprites can be individually changed without affecting the appearance of other sprites. The present invention meets these needs.